import json
import os
import tkinter as tk
from tkinter import filedialog

def remove_label_from_json(json_file_path):
    """删除 JSON 文件中所有对象的 'Label' 属性，并保存到新文件"""
    # 生成新的文件名
    new_file_path = os.path.splitext(json_file_path)[0] + "_modified.json"

    # 读取 JSON 数据
    with open(json_file_path, mode='r', encoding='utf-8') as json_file:
        data = json.load(json_file)  # 读取 JSON 文件内容

    # 确保数据是一个列表（数组）
    if isinstance(data, list):
        for item in data:
            if ' Label' in item:
                del item[' Label']  # 删除 'Label' 字段

    # 保存修改后的数据到新文件
    with open(new_file_path, mode='w', encoding='utf-8') as new_json_file:
        json.dump(data, new_json_file, ensure_ascii=False, indent=4)

    print(f"转换完成，新的 JSON 文件已保存为: {new_file_path}")

def select_file():
    """打开文件选择对话框"""
    file_path = filedialog.askopenfilename(filetypes=[("JSON 文件", "*.json")])
    if file_path:
        remove_label_from_json(file_path)

# 创建 GUI
root = tk.Tk()
root.title("JSON 文件处理工具")
root.geometry("300x150")

label = tk.Label(root, text="选择 JSON 文件进行处理", padx=10, pady=10)
label.pack()

btn = tk.Button(root, text="选择文件", command=select_file)
btn.pack()

root.mainloop()
